home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
bbsutils
/
pegand2a.arj
/
PEGANDC2.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-03-01
|
11KB
|
389 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
String TSTRING001(100)
String TSTRING002(100)
String TSTRING003(100)
String TSTRING004(100)
String STRING005
String STRING006
String TSTRING007(100)
String TSTRING008(100)
String TSTRING009(100)
String TSTRING010(100)
String TSTRING011(100)
String STRING012
String TSTRING013(100)
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String TSTRING020(100)
String STRING021
;------------------------------------------------------------------------------
StartDisp 1
For INTEGER001 = 1 To 2
RdUNet INTEGER001
TSTRING001(INTEGER001) = RTrim(UN_Name(), " ")
TSTRING002(INTEGER001) = RTrim(UN_City(), " ")
TSTRING003(INTEGER001) = UN_Stat()
TSTRING004(INTEGER001) = RTrim(UN_Oper(), " ")
Next
TSTRING003(PcbNode()) = "WHO"
Cls
PrintLn
PrintLn
PrintLn
PrintLn "@X70 ┌@X7F───────────────────────────────────────────────────────────────────────────@X70┐ @X0F"
PrintLn "@X70 @X78│ @XF0* @X74WHO'S ON * PEGANODE ACTIVITY REPORT @XF0* @X7F│ @X0F"
PrintLn "@X70 @X78│@X74N@X78ode @XFE UNREGISTERED EVALUATION COPY @X74T@X78ime @X7F │ @X0F"
PrintLn "@X70 @X78│ @X74N@X78o @X74C@X78ALLER @X74F@X78ROM @X74A@X78CTIVITY @X74L@X78eft @X7F│ @X0F"
PrintLn "@X70 @X78│──── ────────────────── ─────────────── ───────────────────────── ──────── @X7F│ @X0F"
:LABEL001
Gosub LABEL005
For INTEGER002 = 1 To 2
TSTRING007(INTEGER002) = ""
STRING018 = I2S(INTEGER002, 10)
STRING015 = "\PEGANODE\PEGTIME." + STRING018
If (Exist(STRING015)) Goto LABEL002
TSTRING007(INTEGER002) = ""
Goto LABEL003
:LABEL002
FOpen 1, STRING015, 0, 0
FGet 1, INTEGER010
FGet 1, STRING016
FClose 1
For INTEGER007 = 1 To 7
STRING019 = Mid(STRING016, INTEGER007, 1)
Select Case (STRING019)
Case "m"
Break
Case "("
STRING019 = ""
End Select
STRING017 = STRING017 + STRING019
Next
INTEGER012 = S2I(STRING017, 10)
INTEGER011 = INTEGER012 - (Time() - INTEGER010) / 60
TSTRING007(INTEGER002) = ""
TSTRING007(INTEGER002) = I2S(INTEGER011, 10)
TSTRING007(INTEGER002) = LTrim(RTrim(TSTRING007(INTEGER002), " "), " ")
STRING017 = ""
Gosub LABEL009
If (TSTRING003(INTEGER002) == "WHO") TSTRING007(INTEGER002) = "@TIMELEFT@"
:LABEL003
TSTRING004(INTEGER002) = RTrim(TSTRING004(INTEGER002), " ")
TSTRING004(INTEGER002) = LTrim(TSTRING004(INTEGER002), " ")
STRING006 = INTEGER002
If (INTEGER002 < 10) Then
STRING006 = " " + STRING006
ElseIf (INTEGER002 >= 10) Then
STRING006 = STRING006
Endif
If (TSTRING003(INTEGER002) == "WHO") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @POS:44@@X78Viewing @X74PEGANODE @POS:69@@X71@TIMELEFT:3R@@X70 @POS:73@Min @POS:77@@X7F │ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@X78@POS:8@Unavailable Node @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == " ") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X78Available Node @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "O") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X7FLogging On @POS:77@ │ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "D") Then
AnsiPos 1, INTEGER002 + 8
TSTRING001(INTEGER002) = RTrim(TSTRING001(INTEGER002), " ")
INTEGER004 = Len(TSTRING001(INTEGER002))
TSTRING004(INTEGER002) = RTrim(TSTRING004(INTEGER002), " ")
INTEGER003 = Len(TSTRING004(INTEGER002))
Gosub LABEL006
TSTRING013(INTEGER002) = "@X7CDr: @X7B" + TSTRING004(INTEGER002)
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), "@POS:44@", TSTRING013(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "A") Then
AnsiPos 1, INTEGER002 + 8
TSTRING004(INTEGER002) = "Available For Chat"
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @POS:28@@X7E", TSTRING002(INTEGER002), " @X7F@POS:44@", TSTRING004(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "T") Then
AnsiPos 1, INTEGER002 + 8
Gosub LABEL007
Gosub LABEL008
Continue
Endif
If (TSTRING003(INTEGER002) == "S") Then
AnsiPos 1, INTEGER002 + 8
TSTRING004(INTEGER002) = "Answering Script"
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X76@POS:44@", TSTRING004(INTEGER002), "@POS:69@@X71", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "N") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X74@POS:44@Running Event @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "L") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X74@POS:44@Logoff Pending @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "R") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X74@POS:44@DOS Recycle Pending@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "V") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X74@POS:44@No Caller On Line @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "W") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X74@POS:44@Drop To DOS Pending@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "C") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X74@POS:44@Chatting With Sysop@POS:69@@X71", TSTRING007(INTEGER002), "@X70@POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "F") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X75@POS:44@", TSTRING004(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "G") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X7A@POS:44@Chatting With Group@POS:69@@X71", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "E") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X71@POS:44@Entering A Message@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "M") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X71@POS:44@Reading A Message@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "B") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X70@POS:44@Out in DOS@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "P") Then
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X74@POS:44@Paging SysOp@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING003(INTEGER002) == "U") Then
AnsiPos 1, INTEGER002 + 8
TSTRING004(INTEGER002) = "Can't Chat Right Now"
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X79@POS:44@", TSTRING004(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
AnsiPos 1, INTEGER002 + 8
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X76@POS:44@", TSTRING004(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Next
PrintLn "@X70 └@X78───────────────────────────────────────────────────────────────────────────@X70┘ @X0F"
PrintLn "@X08 v2.0a COPYRIGHT (C) 1994 CHRIS MICHAELS"
PrintLn
PrintLn "@X0E(@X0C", MinLeft(), "@X0E min. left) @X0APress (@X0EQ@X0A) to continue...Screen will update every second"
STRING014 = MinLeft()
If (MinLeft() < 5) Goto LABEL004
STRING005 = Inkey()
STRING005 = Upper(STRING005)
If (STRING005 == "Q") Goto LABEL004
For INTEGER001 = 1 To 10
RdUNet INTEGER001
TSTRING001(INTEGER001) = RTrim(UN_Name(), " ")
TSTRING002(INTEGER001) = RTrim(UN_City(), " ")
TSTRING003(INTEGER001) = UN_Stat()
TSTRING004(INTEGER001) = RTrim(UN_Oper(), " ")
Next
TSTRING003(PcbNode()) = "WHO"
Goto LABEL001
:LABEL004
StartDisp 2
End
:LABEL005
For INTEGER002 = 1 To 2
Tokenize TSTRING002(INTEGER002)
INTEGER008 = TokCount()
For INTEGER009 = 1 To INTEGER008
GetToken TSTRING020(INTEGER009)
If (Right(TSTRING020(INTEGER009), 1) == ",") Then
TSTRING020(INTEGER009) = Left(TSTRING020(INTEGER009), Len(TSTRING020(INTEGER009)) - 1)
Continue
Endif
If (Right(TSTRING020(INTEGER009), 1) == ".") Then
TSTRING020(INTEGER009) = Left(TSTRING020(INTEGER009), Len(TSTRING020(INTEGER009)) - 1)
Endif
Next
For INTEGER009 = 1 To INTEGER008
STRING021 = STRING021 + TSTRING020(INTEGER009) + " "
TSTRING020(INTEGER009) = ""
Next
TSTRING002(INTEGER002) = Left(STRING021, 13)
STRING021 = ""
Next
:LABEL006
If (Left(TSTRING001(INTEGER002), INTEGER004) == Left(TSTRING004(INTEGER002), INTEGER004)) Then
TSTRING004(INTEGER002) = "@X7B" + Right(TSTRING004(INTEGER002), INTEGER003 - INTEGER004 - 3)
TSTRING004(INTEGER002) = LTrim(Left(TSTRING004(INTEGER002), 24), " ")
Endif
Return
:LABEL007
Tokenize TSTRING004(INTEGER002)
GetToken TSTRING008(INTEGER002)
GetToken TSTRING009(INTEGER002)
GetToken STRING012
GetToken TSTRING010(INTEGER002)
GetToken STRING012
GetToken TSTRING011(INTEGER002)
INTEGER005 = Len(TSTRING010(INTEGER002)) - 4
TSTRING010(INTEGER002) = Left(TSTRING010(INTEGER002), INTEGER005) + "K"
TSTRING004(INTEGER002) = TSTRING008(INTEGER002) + " " + TSTRING009(INTEGER002) + " " + TSTRING010(INTEGER002)
Return
:LABEL008
Select Case (TSTRING008(INTEGER002))
Case "(D)"
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X75@POS:44@", TSTRING004(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Case "(U)"
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X75@POS:44@(U)ploading A File @XFC@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Case Else
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING001(INTEGER002), 19), " @X7E@POS:28@", TSTRING002(INTEGER002), " @X74@POS:44@Preparing File Transfer@POS:69@@X71", TSTRING007(INTEGER002), "@X70 @POS:73@Min@X7F@POS:77@ │ @X0F"
End Select
Return
:LABEL009
TSTRING007(INTEGER002) = LTrim(RTrim(TSTRING007(INTEGER002), " "), " ")
INTEGER006 = Len(TSTRING007(INTEGER002))
Select Case (INTEGER006)
Case 1
TSTRING007(INTEGER002) = " " + TSTRING007(INTEGER002)
Case 2
TSTRING007(INTEGER002) = " " + TSTRING007(INTEGER002)
Case 3
TSTRING007(INTEGER002) = TSTRING007(INTEGER002)
Case 4
TSTRING007(INTEGER002) = "99+"
End Select
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 83 Goto
; 72 Let
; 36 PrintLn
; 45 If
; 1 FOpen
; 1 FClose
; 2 FGet
; 2 StartDisp
; 5 Gosub
; 4 Return
; 2 Tokenize
; 7 GetToken
; 2 RdUNet
; 22 AnsiPos
;
;
; ■ Functions used :
;
; 1 /
; 43 +
; 7 -
; 33 ==
; 9 <
; 7 <=
; 16 >=
; 41 !
; 14 &&
; 7 ||
; 6 Len(
; 1 Upper()
; 1 Mid()
; 28 Left()
; 3 Right()
; 4 LTrim()
; 11 RTrim()
; 1 Time()
; 1 Inkey()
; 2 PcbNode()
; 2 UN_Stat()
; 2 UN_Name()
; 2 UN_City()
; 2 UN_Oper()
; 3 MinLeft()
; 1 Exist()
; 2 I2S()
; 1 S2I()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 7 For/Next
; 0 While/EndWhile
; 26 If/Then or If/Then/Else
; 3 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------